<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全局自定义指令——输入框自动获得焦点</title>
</head>
<body>
<div id="app">
    <label for="wd">
        请输入要搜索内容
        <input type="text" name="wd" v-focus="false">
    </label>

    <!--  注意事项：green 是一个字符串，不应该是变量  -->
    <h2 v-highlight="'green'">Hello, World!</h2>
    <h2 v-highlight="green">使用变量设置背景颜色</h2>

</div>

<script type="module">
    import {createApp, ref} from "../../../../js/vue.esm-browser.js";

    let app = createApp(
        {
            setup() {
                let green = "green"
                return {
                    green,
                }
            }
        }
    )

    app.directive(
        "focus",
        {
            // el 指令所绑定的元素，可以用来获得 DOM元素
            // binding 一个对象，包含多个属性，用来接收属性的参数值
            mounted(el, binding) {
                if (binding.value)
                    // focus 函数的作用：获得输入焦点
                    el.focus()
            }
        }
    )

    app.directive(
        "highlight",
        {
            created(el, binding) {
                // el.style.backgroundColor = "yellow"
                el.style.backgroundColor = binding.value
            }
        }
    )

    app.mount("#app")
</script>
</body>
</html>